﻿using System;
using System.Collections.Generic;
using System.Text;

namespace SgsCS
{
    internal interface ICardSet
    {
        AttackStruct Attack { get; }
        CardTypeStruct CardType { get; }
        int CardIndex { get; }
        ISkill CardSkill { get; }
    }

    internal struct AttackStruct
    {
        public int Attack
        {
            set;
            get;
        }

        public int Defense
        {
            set;
            get;
        }
    }

    /// <summary>
    /// 牌面结构
    /// </summary>
    internal struct CardTypeStruct
    {
        public const int CARDNUMLIMIT = 13;
        private ECardType _myTpye;
        private ECardSuitType _mySuit;
        private int _CardNum;
        private string _myCardName;        
        public CardTypeStruct(int cNum, ECardType cType, ECardSuitType cSuit , string cName)
        {
            if (cNum > CARDNUMLIMIT)
                _CardNum = CARDNUMLIMIT;
            else
                _CardNum = cNum;
            _mySuit = cSuit;
            _myTpye = cType;
            _myCardName = cName;
        }

        public ECardType CardType
        {
            get { return _myTpye; }
        }

        public ECardSuitType CardSuit
        {
            get { return _mySuit; }
        }

        public int CardNum
        {
            get { return _CardNum; }
        }
    }

    /// <summary>
    /// 牌类型
    /// </summary>
    internal enum ECardType
    {
        /// <summary>
        /// 普通牌
        /// </summary>
        NormalCard = 0,
        /// <summary>
        /// 道具牌
        /// </summary>
        PropsCard,
        /// <summary>
        /// 锦囊牌
        /// </summary>
        StrategyCard
    }

    /// <summary>
    /// 花色类型
    /// </summary>
    internal enum ECardSuitType
    {
        Spades=0,
        Hearts,
        Clubs,
        Diamonds
    }

}
